home *** CD-ROM | disk | FTP | other *** search
/ SGI Developer Toolbox 6.1 / SGI Developer Toolbox 6.1 - Disc 1.iso / toolbox / documents / OpenGL / opengldoc / glspec / generate_mipmap.spec < prev    next >
Encoding:
Text File  |  1996-11-11  |  6.2 KB  |  186 lines

  1. Name
  2.  
  3.     SGIS_generate_mipmap
  4.  
  5. Name Strings
  6.  
  7.     GL_SGIS_generate_mipmap
  8.  
  9. Version
  10.  
  11.     $Date: 1996/04/02 00:07:58 $ $Revision: 1.2 $
  12.  
  13. Number
  14.  
  15.     32
  16.  
  17. Dependencies
  18.  
  19.     EXT_texture is required
  20.     EXT_texture3D affects the definition of this extension
  21.     EXT_texture_object affects the definition of this extension
  22.     SGIS_texture_lod affects the definition of this extension
  23.  
  24. Overview
  25.  
  26.     This extension defines a mechanism by which OpenGL can derive the
  27.     entire set of mipmap arrays when provided with only the base level
  28.     array.  Automatic mipmap generation is particularly useful when
  29.     texture images are being provided as a video stream.
  30.  
  31. Issues
  32.  
  33.     *    How are edges handled?
  34.  
  35. New Procedures and Functions
  36.  
  37.     None
  38.  
  39. New Tokens
  40.  
  41.     Accepted by the <pname> parameter of TexParameteri, TexParameterf,
  42.     TexParameteriv, TexParameterfv, GetTexParameteriv, and GetTexParameterfv:
  43.  
  44.     GENERATE_MIPMAP_SGIS
  45.  
  46.     Accepted by the <target> parameter of Hint, and by the <pname>
  47.     parameter of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev:
  48.  
  49.     GENERATE_MIPMAP_HINT_SGIS
  50.  
  51. Additions to Chapter 2 of the 1.0 Specification (OpenGL Operation)
  52.  
  53.     None
  54.  
  55. Additions to Chapter 3 of the 1.0 Specification (Rasterization)
  56.  
  57.     GL Specification Table 3.7 is updated as follows:
  58.  
  59.     Name                Type        Legal Values
  60.     ----                ----        ------------
  61.     TEXTURE_WRAP_S            integer        CLAMP, REPEAT
  62.     TEXTURE_WRAP_T            integer        CLAMP, REPEAT
  63.     TEXTURE_WRAP_R_EXT        integer        CLAMP, REPEAT
  64.     TEXTURE_MIN_FILTER        integer        NEAREST, LINEAR,
  65.                             NEAREST_MIPMAP_NEAREST,
  66.                             NEAREST_MIPMAP_LINEAR,
  67.                             LINEAR_MIPMAP_NEAREST,
  68.                             LINEAR_MIPMAP_LINEAR,
  69.                             FILTER4_SGIS
  70.     TEXTURE_MAG_FILTER        integer        NEAREST, LINEAR,
  71.                             FILTER4_SGIS,
  72.                             LINEAR_DETAIL_SGIS,
  73.                             LINEAR_DETAIL_ALPHA_SGIS,
  74.                             LINEAR_DETAIL_COLOR_SGIS,
  75.                             LINEAR_SHARPEN_SGIS,
  76.                             LINEAR_SHARPEN_ALPHA_SGIS,
  77.                             LINEAR_SHARPEN_COLOR_SGIS
  78.     TEXTURE_BORDER_COLOR        4 floats    any 4 values in [0,1]
  79.     DETAIL_TEXTURE_LEVEL_SGIS    integer        any non-negative integer
  80.     DETAIL_TEXTURE_MODE_SGIS    integer        ADD, MODULATE
  81.     TEXTURE_MIN_LOD_SGIS        float        any value
  82.     TEXTURE_MAX_LOD_SGIS        float        any value
  83.     TEXTURE_BASE_LEVEL_SGIS        integer        any non-negative integer
  84.     TEXTURE_MAX_LEVEL_SGIS        integer        any non-negative integer
  85.     GENERATE_MIPMAP_SGIS        boolean        TRUE or FALSE
  86.  
  87.     Table 3.7: Texture parameters and their values.
  88.  
  89.     This extension introduces a side effect to the modification of the
  90.     base level mipmap array.  The side effect is enabled on a per-texture
  91.     basis by calling TexParameteri, TexParameterf, TexParameteriv, or
  92.     TexParameterfv with <target> set to TEXTURE_1D, TEXTURE_2D, or
  93.     TEXTURE_3D_EXT, <pname> set to GENERATE_MIPMAP_SGIS, and <param>
  94.     set to TRUE (or <params> pointing to TRUE).  It is disabled using the
  95.     same call, with <param> set to FALSE, or <params> pointing to FALSE.
  96.     If SGIS_texture_lod is supported, the base level array is the array
  97.     number TEXTURE_BASE_LEVEL_SGIS.  Otherwise the base level array is
  98.     array zero.
  99.  
  100.     If GENERATE_MIPMAP_SGIS is enabled, the side effect occurs whenever
  101.     any change is made to the interior or edge image values of the base
  102.     level texture array.  The side effect is computation of a complete
  103.     set of mipmap arrays, all derived from the modified base level array.
  104.     Array levels BASE+1 through BASE+p are replaced with derived arrays,
  105.     regardless of their previous contents.  All other texture arrays,
  106.     including the base array, are left unchanged by this mipmap computation.
  107.  
  108.     The internal formats and border widths of the derived mipmap arrays
  109.     all match those of the base array, and the dimensions of the derived
  110.     arrays follow the requirements described in the Mipmapping section of
  111.     the GL Specification.  The result is that the set of mipmap arrays is
  112.     complete as defined by the GL Specification.  The contents of the
  113.     derived image arrays are computed by repeated, filtered reduction of
  114.     the base level image array.  This specification does not require any
  115.     particular filter algorithm, though a simple 2x2 box filter is
  116.     recommended as the default filter.  Hint variable
  117.     GENERATE_MIPMAP_HINT_SGIS can be changed from its default value of
  118.     DONT_CARE to either FASTEST or NICEST, indicating to the implementation
  119.     that either the fastest or highest quality filter operation is desired.
  120.     These operations are not defined by this specification, however.  The
  121.     single hint value controls the filtering of all the textures, and is
  122.     evaluated when the filtering operation takes place.
  123.  
  124.     Automatic mipmap generation is available for texture targets TEXTURE_1D,
  125.     TEXTURE_2D, and TEXTURE_3D_EXT only.
  126.  
  127. Additions to Chapter 4 of the 1.0 Specification (Per-Fragment Operations
  128. and the Frame Buffer)
  129.  
  130.     None
  131.  
  132. Additions to Chapter 5 of the 1.0 Specification (Special Functions)
  133.  
  134.     None
  135.  
  136. Additions to Chapter 6 of the 1.0 Specification (State and State Requests)
  137.  
  138.     None
  139.  
  140. Additions to the GLX Specification
  141.  
  142.     None
  143.  
  144. Dependencies on EXT_texture
  145.  
  146.     EXT_texture is required.
  147.  
  148. Dependencies on EXT_texture3D
  149.  
  150.     If EXT_texture3D is not supported, references to 3D texture mapping and
  151.     to TEXTURE_3D_EXT in this document are invalid and should be ignored.
  152.  
  153. Dependencies on EXT_texture_object
  154.  
  155.     If EXT_texture_object is implemented, the state value named
  156.  
  157.     GENERATE_MIPMAP_SGIS
  158.  
  159.     is added to the state vector of each texture object. When an attribute
  160.     set that includes texture information is popped, the bindings and
  161.     enables are first restored to their pushed values, then the bound
  162.     textures have their GENERATE_MIPMAP_SGIS parameters restored to their
  163.     pushed values.
  164.  
  165. Dependencies on SGIS_texture_lod
  166.  
  167.     If SGIS_texture_lod is not supported, the base array level is always
  168.     level zero.  References in this document to TEXTURE_BASE_LEVEL_SGIS
  169.     should be ignored.
  170.  
  171. Errors
  172.  
  173.     None
  174.  
  175. New State
  176.  
  177.                                   Initial
  178.     Get Value            Get Command      Type    Value      Attrib
  179.     ---------            -----------      ----    -------      ------
  180.     GENERATE_MIPMAP_SGIS    GetTexParameteriv B     FALSE      texture
  181.     GENERATE_MIPMAP_HINT_SGIS    GetIntegerv      Z3    DONT_CARE hint
  182.  
  183. New Implementation Dependent State
  184.  
  185.     None
  186.